1. Field of the Invention
The present invention relates generally to transaction processing and, more specifically, to transaction replication in a storage-area network environment.
2. Description of the Related Art
A transaction is an exchange between one computing entity and another that accomplishes a particular action or result. For example, in an electronic commerce (e-commerce) system, the submission of a customer's order and the submission of the customer's credit card information for payment processing is a single transaction from the customer's point of view but involves a group of changes to order files and accounting files by the software that handles the transaction. The software typically interfaces with relational database files (i.e., tables) to access data and make changes to it. A transaction can thus be embodied as a series or list of database table operations, such as deleting an entry from one table, updating an entry in another table, inserting an entry into still another table, etc. A procedure having specific rules, known as a commitment control protocol, ensures that a group of changes made to different database files, such as the above-mentioned order and accounting files, are synchronized so that multiple files all reflect the transaction. The synchronization ensures the integrity of business processes and data by enforcing an “all or nothing” methodology. Each transaction is processed in its entirety or not at all. This is sometimes referred to as the atomicity property of transaction processing. If a failure occurs during processing of a transaction, the synchronization protocol will revert to the state before the transaction was initiated, allowing the transaction to be retried if appropriate.
It is common to replicate e-commerce transactions for backup, mirroring and other purposes. Database replication software is widely available from database software providers such as Microsoft Corporation of Redmond, Wash., Oracle Corporation of Redwood Shores, Calif., and Sybase Inc. of Emeryville, Calif. Database replication can be performed synchronously, wherein individual database operations are made to occur in real time across multiple database systems, or in a batch mode, wherein database operations are queued in a first database system and then transmitted to others. E-commerce transactions represented by a list of database operations have been replicated in such a batch mode. For example, Advanced Queueing, an Oracle product, has been used to store up a number of transactions and then send them as a group to a remote host that controls a back-end database system. E-commerce transactions can also be represented by means other than a list of database operations, such as code generated in Extensible Markup Language (XVIL) or interactions between hosts operating in accordance with Sun Microsystems' JINI technology.
Operators of e-commerce systems may replicate transactions for a variety of reasons. For example, it may be desired to mirror transactions to a second host system to enable business to continue in case a first host system fails. Also, for example, it may be desired to back up transactions using a second host system at a remote location from the first or primary host system so that data are preserved in the event the primary host system loses the data. The hosts typically communicate the e-commerce transactions with each other via the same network, such as the Internet, used by customers to communicate with the primary host. E-commerce transaction replication is thus conventionally a front-end process because it occurs through the Internet and the host order-entry system, which is considered the “front end” of such e-commerce systems, the “back end” being the database systems, data storage systems, order fulfillment systems and other systems that do not directly interface with customers. Back-end data replication facilities are known, but they replicate data from one data storage system to another on a byte-by-byte basis without regard to what the data may represent. The SYMMETRIX Remote Data Facility (SRDF) produced by EMC Corporation of Hopkinton, Mass. is an example. It is used with EMC's SYMMETRIX line of data storage systems.
E-commerce transaction replication is complicated by the absence of universal software for transmitting and receiving transactions and interfacing with the back-end database systems. Front-end software known as a replication manager in the primary host can be used to control replication and transmission of transactions. Front-end software known as a receiver or subscriber in the other host(s) can be used to receive the transactions. Different database systems require different replication managers and receivers. For example, an Oracle database system requires a certain replication manager and corresponding receiver, while a Microsoft SQL database system requires a different replication manager and receiver. Some inconvenience and inefficiency occurs because e-commerce businesses often need to replace software to maintain pace with their growth. A business using a SQL database system, for example, which is popular among smaller e-commerce businesses, will need to replace all SQL-related software, including replication managers and receivers, if it switches to, for example, an Oracle database system.
It would be desirable to provide intelligent, real-time, e-commerce transaction replication that minimizes the burden on front-end host resources. It would further be desirable to provide real-time e-commerce transaction replication that does not require corresponding pairs of replication managers and receivers tied to specific databases or other software applications. The present invention addresses these problems and others in the manner described below.